home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
- SLITHER
-
- Arcade Action without the Arcade
-
- Version 2.12
-
-
-
-
-
-
- INTRODUCTION
-
- Imagine an enchanted snake, slithering along the desert
- sand. It moves quickly along, turning left and right, in search
- of tasty morsels to satisfy its hunger. At last! Directly
- ahead, a small piece of food comes into view. The snake heads
- forward at top speed and hungrily clamps its massive jaws shut.
- The enchantment allows it to digest the food instantly, and it
- begins to grow. In no time, it's almost twice as long as it was
- before. But alas, along with the enchantment comes a curse; the
- poor snake cannot rest, but must keep moving, ever in search of
- more food so that it may grow, and grow. The snake must also
- hurry, for in the desert sun, food goes bad very quickly; if the
- food is not eaten soon after it appears, it will become hard as a
- rock. And woe be to it, if in its haste the snake should trip
- over itself or run into a wall, for the enchantment would fade
- away, and the snake would be no more.
-
- This fanciful scenario is the basis of SLITHER, a fast-
- action game requiring quick planning and quick reflexes. SLITHER
- runs under MS-DOS* 2.0 or later on IBM-PCs or compatibles with
- almost any video display or terminal. No special graphics hard-
- ware is required. SLITHER should also work with non-IBM compat-
- ible MS-DOS machines, but we haven't tested it.
-
-
-
-
- Copyright (c) 1984,1986
-
- Nirvonics, Inc.
- P.O. Box 5062
- Plainfield, NJ 07061
-
-
-
-
- * IBM-PC is a registered trademark of IBM Corp.
- MS-DOS is a registered trademark of Microsoft.
-
-
-
- LICENSE
-
-
- SLITHER is copyrighted by Nirvonics, Inc. Permission is granted
- to use, copy and distribute SLITHER providing that:
-
- NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION.
-
- IT IS NOT MODIFIED IN ANY WAY.
-
- THIS NOTICE MUST BE INCLUDED WITH ANY COPY OF SLITHER.
-
- Clubs and user groups may charge a nominal fee for expenses and
- handling while distributing SLITHER.
-
- This program is provided AS IS without any warranty, expressed or
- implied, including but not limited to fitness for a particular
- purpose.
-
- If you enjoy SLITHER, a contribution would be appreciated. For a
- contribution of $20 you will receive a diskette with the latest
- version of SLITHER and a hardcopy manual (complete with glossy
- cover).
-
- For a list of other software from Nirvonics, send a SASE to:
-
-
- Nirvonics, Inc.
- P.O. Box 5062
- Plainfield, NJ 07061
-
-
-
- THE PROGRAM
-
-
- Starting Out for the First Time
- -------- --- --- --- ----- ----
- (or, What to Do When Just Running It Didn't Quite Work)
- --- ---- -- -- ---- ---- ------- -- ------ ----- ----
-
- SLITHER requires two data files in order to run. The first
- of these is a system configuration file called NIRVOSYS.PSF
- (which is used by most software from Nirvonics, Inc.). This file
- contains terminal definition information, which tells SLITHER how
- to talk to your console terminal (or display) in order to do
- things like clearing the screen and moving the cursor to a
- specific position. If you do not already have a NIRVOSYS.PSF
- with your terminal definition in it, you can create one by run-
- ning the program TERMSET, supplied on the distribution disk.
- TERMSET allows you to choose from a number of standard terminal
- types, or to define your own type. See Appendix A for details on
- using TERMSET.
-
- The second data file SLITHER requires is called SLITHER.DAT.
- SLITHER uses this file to keep track of players' high scores.
- The first time you run SLITHER, it will create a SLITHER.DAT file
- with an empty scoreboard.
-
- When SLITHER is looking for one of these files, it tries
- some of the most reasonable (disk) directories (in particular, it
- will look anywhere that the operating system might look for
- program files). If the file is not in any of these directories,
- SLITHER will ask you where it should be. You can then tell it in
- which (disk) directory the file should reside. Normally, it will
- find it by itself, and this will not be necessary.
-
-
- Timing Calibration
- ------ -----------
-
- Since SLITHER is a real-time game, it must perform certain
- actions at specific times, with fraction-of-a-second accuracy.
- The first time SLITHER is run, it attempts to calibrate itself
- for the particular computer, using the system clock as a
- reference.
-
- You can force SLITHER to calibrate again (if, for example,
- you switch to a slower terminal) by typing:
-
- SLITHER CALIBRATE
-
-
-
- Running the Program (or, OK, Already! Let's PLAY!)
- ------- --- ------- --- --- -------- ----- -----
-
- After you have created the configuration file, you can run
- the program by typing:
-
- SLITHER
- - or -
- SLITHER BELL
-
- The program will then play demonstration games by itself while
- you read the rest of the manual. When you use "SLITHER BELL", a
- bell will ring whenever you hit an object on the screen, just
- like in the arcades!
-
- At any time, SLITHER will be in one of several modes. It
- starts in Demo mode and returns to it whenever it isn't doing
- anything else. In Demo mode, SLITHER plays games against itself,
- randomly picking difficulty levels for each new game. In this
- way, a beginning player or a curious onlooker can get an idea of
- how the game works. It's also just plain fun to watch, even for
- experienced players.
-
- While SLITHER is in Demo mode, and some of the other modes,
- it displays, on the bottom line of the screen, a list of modes
- and the keys used to switch to each mode. The modes which may be
- selected, whenever this display is visible, are Instruction mode,
- Scoreboard mode, and Game mode.
-
- To play a game, enter Game mode by typing "P" (for play), or
- a carriage return (the normal end-of-line key, usually labeled
- "RETURN" or "ENTER"). Type "L" to choose a difficulty level;
- start with level 1 to get used to the game, then experiment with
- other levels. The higher the level, the faster things move
- around on the screen, but the more points you receive for each
- target.
-
- When you finish a game, SLITHER will automatically enter
- Scoreboard mode for a short time before returning to Demo mode.
- To enter Scoreboard mode at any other time, press the "S" key.
- Scoreboard mode provides a list of the players with the highest
- scores and a list of the longest snakes achieved at each level of
- difficulty.
-
- The remaining mode is Instruction mode and may be entered by
- pressing the "I" key. This mode gives an explanation of the
- rules of the game. These are the same rules, if not the same
- words, as given in the next section of the manual.
-
-
-
- THE GAME
-
-
- The Rules
- --- -----
-
- The object of the game is to score points by making the
- snake eat food. The snake is represented on the screen as a
- string of "*" symbols which move together across the screen at a
- constant speed. You can control the direction that the snake's
- head turns. The rest of the snake follows the head.
-
- At random times, pieces of food will appear on the screen.
- These are shown as single digit numbers. The number for a piece
- of food represents its current value. Food values count down at
- a constant rate until they reach zero, and the food goes bad
- (represented by an "@" symbol on the screen). The initial value
- and the countdown rate vary from one piece of food to another.
-
- To make the snake eat a piece of food, simply maneuver the
- head to the same spot as the food; instinct will take it from
- there. When the snake eats a piece of food, its tail grows, ad-
- ding one "*" for each unit of food value. At the same time, your
- score increases by an amount proportional to the food value and
- the difficulty level.
-
- As you move the snake's head around the screen, be careful
- not to let it hit the walls or any other part of the snake. If
- you do, the enchantment fails, and the game ends. Also, if the
- snake eats a piece of food that has gone bad, it will suffer from
- a terminal case of indigestion, ending the game.
-
- If your score at the end of the game is among the top 15
- scores of all time, or is the highest score for the current dif-
- ficulty level, SLITHER will ask for your name and add it to the
- scoreboard.
-
-
- The Controls
- --- --------
-
- There are only four controls used to play SLITHER: LEFT,
- RIGHT, UP, and DOWN. These are the directions (from your point
- of view) that the snake's head should turn. When no controls are
- pressed, the snake will continue moving in the same direction.
-
- Even though there are only four controls, there are a large
- number of keys which may be used for these controls. Thus you
- may choose a set most appropriate for your keyboard and your par-
- ticular tastes (and handedness).
-
-
-
- If your keyboard has a numeric keypad, a common choice is to
- use "8" for UP, "4" for LEFT, "6" for RIGHT, and "2" for DOWN.
- Also popular is the set: "8" for UP, "4" for LEFT, "6" for RIGHT,
- and "5" for DOWN. These sets may be represented graphically as:
-
- 8 8
- 4 6 and 4 5 6
- 2
-
- The above selections are popular because the keys are ar-
- ranged in a cluster with the placement of keys relative to each
- other corresponding to the direction of movement. Such clusters
- are sometimes called "direction diamonds". Other common direc-
- tion diamonds are:
-
- U 9 W 0
- H K I O P or, for lefties A D I O P
- space space
-
- You may use any of the above sets or choose your own. The
- keys which correspond to each control are:
-
- LEFT: 4, A, S, G, H, I
- RIGHT: 6, D, F, J, K, P
- UP: 8, 9, 0, W, E, R, Y, U
- DOWN: 2, 5, Z, X, C, O, space
-
- If your terminal has ARROW KEYS, they may also be used.
-
-
- Game Variations
- ---- ----------
-
- SLITHER now allows 12 different styles of play. There are
- four target types and three game types.
-
- The four target types are listed below:
-
- -- Stationary (normal, easiest)
- -- Bouncing
- -- Wandering
- -- Dodging (hardest)
-
- In games using any of the three moving target types
- (bouncing, wandering, and dodging), each target is randomly as-
- signed a speed when it first appears; this speed can be as fast
- as, but not faster than, the snake's speed. Bouncing targets
- move in a straight line until they reach an obstacle; then they
- turn around and go the other way. Wandering targets change
- direction randomly, at random times. Dodging targets attempt to
- move away from the snake.
-
-
-
- In addition to the normal, one-snake, game, there are two
- other game types: two-snake and two-player. In each of these
- two games, two targets and two snakes appear on the screen.
-
- The second snake (shown by "%" symbols on the screen) is
- controlled by the computer in a two-snake game, or by a second
- player in the two-player game. Each snake must avoid not only
- itself and the walls, but also the other snake. When one snake
- dies, and a player's snake is still alive, the game continues,
- with the dead snake remaining limp on the screen as an obstacle.
-
-
- Selecting Game Variations
- --------- ---- ----------
-
- When Game mode has been selected, but a game has not yet
- begun, a display will appear showing the current target and game
- types (described above), along with the current difficulty level.
- Typing the "T" key will step through the available target types;
- the "G" key will step through the game types. Repeat these keys
- until you reach the game and target types you would like. If you
- type "L", you will be prompted to select a difficulty level.
-
- A similar display appears when a scoreboard is on the
- screen. Each scoreboard is for one of the twelve game
- variations; use the "T" and "G" keys to view different
- scoreboards.
-
-
- Controls for the Two-Player Game
- -------- --- --- ---------- ----
-
- When you choose the two-player game, you will be able to
- select which player will use which control keys. When SLITHER is
- first started, the left player ("*") can use any of these keys:
-
- LEFT: A, S, G
- RIGHT: D, F, J
- UP: W, E, R, Y
- DOWN: Z, X, C
-
- The right player ("%") can use:
-
- LEFT: 4, H, I, left-arrow
- RIGHT: G, K, P, right-arrow
- UP: 8, 9, 0, U, up-arrow
- DOWN: 2, 5, O, space, down-arrow
-
- If players wish to use keys normally assigned to the other
- player, the keys can easily be redistributed. If you type the
- "K" key before the two-player game starts, each player will be
- given a chance to choose the four keys he wants to use in the
- game. The only restriction is that each player must pick one key
- of each direction. The keys that a player chooses will remain
- his until changed again.
-
-
-
- CUSTOMIZATIONS
-
-
- Changing Game Symbols
- -------- ---- -------
-
- SLITHER allows you to change the symbols it uses to draw the
- snakes, rocks, and the border around the playing field. To
- change any of these, run SLITHER with a SYMBOLS argument:
-
- SLITHER SYMBOLS
-
- SLITHER will prompt you for the information it needs.
-
-
- Changing Colors
- -------- ------
-
- If you are using an IBM-compatible color display (terminal type
- IBM-CGA), SLITHER can display the various symbols, text, and
- background in different colors. To change the default colors,
- run SLITHER with a COLORS argument:
-
- SLITHER COLORS
-
- SLITHER will prompt you for the information it needs.
-
-
-
- APPENDIX A: USING TERMSET
-
-
- Purpose
- -------
-
- TERMSET is Nirvonics' utility for creating data sets which
- define the characteristics and capabilities of terminals, for use
- by programs which desire to do device-independent terminal
- manipulation.
-
- TERMSET uses two data files. The first is the system con-
- figuration file, NIRVOSYS.PSF. When you configure a terminal
- definition for your computer, it will be put into this file.
- This is the same data file that other software packages from Nir-
- vonics use, so if you already have such a file, terminal defini-
- tions will be added to it. Otherwise, it will be created
- automatically by TERMSET. Users who have more than one terminal,
- or have terminals with several modes, can put a terminal defini-
- tion for each each into NIRVOSYS.PSF, and can indicate to
- programs which of them is the one to use at any given time (see
- below).
-
- The second data file used by TERMSET is called TTYTYPES.PSF.
- This file holds many standard terminal configurations. In fact,
- most people will find that their terminal or computer is already
- defined in this file. Just as SLITHER searches (disk) direc-
- tories to find its files, so TERMSET hunts for its. If it cannot
- find one, it will ask you where it is, and you can tell it.
-
-
- Using TERMSET
- ----- -------
-
- To create a data set for your terminal (video monitor), type
- "TERMSET". The program will give you the choice of selecting an
- existing terminal definition, selecting a previously configured
- terminal, or creating a new one. If your terminal, or computer,
- is one of the standard choices, you're in luck; simply select it
- and you're on your way. If you wish to reuse a configuration you
- made earlier, select it and you are just as easily done.
- Otherwise, TERMSET will need to ask you a number of questions
- about your terminal, such as the character(s) which must be sent
- to clear the screen; be prepared to wade through the terminal
- documentation or to find someone with more detailed knowledge of
- the terminal.
-
- After a terminal configuration has been chosen/created, you
- will be given a chance to test it. If the configuration is for
- the terminal you are currently working on, you should do so (just
- to make sure it really works!). If it is for a different
- terminal, it is probably best not to test it. In the test, all
- of the features are checked out. If they all work ok, you will
- be prompted for a configuration name. The configuration data set
- will be stored in NIRVOSYS.PSF with this name, so that more that
- one configuration can be stored there without overwriting each
- other.
-
-
-
- Setting the Default Configuration
- ------- --- ------- -------------
-
- In addition to the named terminal configurations for each
- terminal or mode which you have, NIRVOSYS.PSF has a "default"
- configuration. This is a copy of one of your configurations with
- a special name (in particular, a blank name) which tells all Nir-
- vonics programs that it represents the current terminal. To
- select a default configuration, type "TERMSET xxx", where "xxx"
- means the name that you gave the terminal configuration for your
- current terminal. For example, typing "TERMSET VT100" might tell
- Nirvonics programs that you just hooked up your new VT100 ter-
- minal instead of the old ADM3A that you were using a minute ago.
-
-
- Standard Terminal Types
- -------- -------- -----
-
- The terminal configurations which TERMSET knows about represent
- what information we were able to obtain from various sources.
- Many of these configurations are probably incomplete and may even
- be incorrect. We will be glad to help you with any problems and
- would like to know about any changes you find necessary, or new
- terminal types.
-
- For the IBM-PC and compatibles, try the IBM-MONO terminal type.
- If this doesn't work, then try IBM-ANSI.
-
- If you have an IBM-PC (or compatible) with a color display you
- might want to try the IBM-CGA terminal type. SLITHER can then
- take advantage of the color capabilities.
-
-
- Cursor Problems with IBM Clones
- ------ -------- ---- --- ------
-
- Some IBM compatibles have a bug in their ROM BIOS which makes
- them indicate the wrong number of scan lines when the cursor type
- is requested. If your machine has this property, you will find
- the cursor ending up in unusual positions (such as the middle of
- a character) after being turned off by Nirvonics programs (such
- as TERMSET's cursor test).
-
- To correct this problem, you can use TERMSET to change your term-
- inal definition, and supply the number of scan lines explicitly.
- Typically, this will be 8 for color monitors and 14 for mono-
- chrome. If you don't know the right value, just try something
- and see where the cursor ends up.
-
-
- Old Terminal Definitions
- --- -------- -----------
-
- If you have old terminal definitions from a previous release of a
- Nirvonics program (you can check for this by running LSPSET and
- looking for TERMLIB entries with version numbers less than 4),
- and you don't want to use the new standard definitions, you can
- run NEWTERM instead of TERMSET. It will convert old-style defin-
- itions to new ones.
-
-
-
- APPENDIX B: TROUBLE-SHOOTING
-
-
- SLITHER has been designed to operate as automatically as
- possible. In spite of this (and sometimes because of this),
- there are problems which could conceivably arise. This section
- attempts to describe some problems which might occur and to sug-
- gest some solutions. Hopefully, you will have no need of this
- section.
-
-
-
- SLITHER Consistently Cannot Find Its Data Files
- ------- ------------ ------ ---- --- ---- -----
-
- Nirvonics programs tell you where they looked for important
- data files. They look in some of the most reasonable (disk)
- directories (in particular, they will look anywhere that the
- operating system might look for program files. For example, un-
- der MS-DOS they will look in the current directory, all director-
- ies on the PATH, and all directories in the path list given by
- the DATAPATH environment variable). These important data files
- only need to be created once, and should thereafter be stored in
- one of these reasonable places. NIRVOSYS.PSF should probably
- even reside on the main program (disk) directory.
-
-
-
- Screen Fills with Random Garbage
- ------ ----- ---- ------ -------
-
- You have probably made a mistake in configuring SLITHER for
- your terminal, or forgot to set the default terminal. Run
- TERMSET again. Make sure to use the Test section of TERMSET.
-
- Some things to watch out for: certain characters may be in-
- tercepted by the system and interpreted specially; in particular
- <13>, <9>, and <0>. These can usually be replaced by <141>,
- <137>, and <128>, respectively.
-
-
-
- Occasional Garbage Appears on the Screen and/or
- ---------- ------- ------- -- --- ------ ------
- Response to Keyboard Controls Seems Sluggish
- -------- -- -------- -------- ----- --------
-
- Some terminals cannot keep up with a steady stream of com-
- mands at high Baud rates (speed of sending characters between the
- computer and the terminal). There are two ways to get around
- this. One is to lower the Baud rate to the terminal. The other
- is to add delays to the control strings in NIRVOSYS.PSF (using
- TERMSET).
-
-